<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
  <META http-equiv="Content-Type" content="text/html; charset=Windows-1252">
  <TITLE>b (Benchmark) command</TITLE>
  <LINK href="style.css" rel="stylesheet" type="text/css">
</HEAD>

<BODY>

<H1>b (Benchmark) command</H1>

<P>Measures speed of the CPU and checks RAM for errors.</P>

<H4>Syntax</H4>

<PRE class="syntax">
b [number_of_iterations] [-mmt{N}] [-md{N}] [-mm={Method}]
</PRE>

<P>There are two tests:<P>
<OL>
  <LI>Compressing with LZMA method
  <LI>Decompressing with LZMA method
</OL>

<P>The benchmark shows a rating in MIPS (million instructions per second).
The rating value is calculated from the measured CPU speed and it
is normalized with results of Intel Core 2 CPU with multi-threading option 
switched off. So if you have Intel Core 2 Duo, 
rating values must be close to real CPU frequency.</P>

<P>You can change the upper dictionary size to increase memory usage by -md{N} switch.
Also, you can change the number of threads by -mmt{N} switch.</P>

<P>The <B>Dict</B> column shows dictionary size. For example, 21 means 2^21 = 2 MB.</P>

<P>The <B>Usage</B> column shows the percentage of time the processor is working.
It's normalized for a one-thread load. For example, 180% CPU Usage for 2 threads
can mean that average CPU usage is about 90% for each thread.</P>

<P>The <B>R / U</B> column shows the rating normalized for 100% of CPU usage.
That column shows the performance of one average CPU thread.</P>

<P><B>Avr</B> shows averages for different dictionary sizes.</P>
<P><B>Tot</B> shows averages of the compression and decompression ratings.</P>

<P>Compression speed and rating strongly depend on memory (RAM) latency.

<P>Decompression speed and rating strongly depend on the integer performance of the CPU.
For example, the Intel Pentium 4 has big branch
misprediction penalty (which is an effect of its long pipeline) and pretty slow
multiply and shift operations. So, the Pentium 4 has pretty low decompressing ratings.</P>

<P>You can run a CRC calculation benchmark by specifying -mm=crc.
That test shows the speed of CRC calculation in MB/s. The first column shows the size of the block.
The next column shows the speed of CRC calculation for one thread. The other columns are results
for multi-threaded CRC calculation.</P> 

<P>With -mm=* switch you can run a complex benchmark. It tests hash calculation methods, 
compression and encryption codecs of 7-Zip.
Note that the tests of LZMA have big weight in "total" results.
And the results are normilized with AMD K8 cpu in complex benchmark.</P> 
                                                       
<H4>Examples</H4>

<PRE class="example">
7z b
</PRE>
runs benchmarking.

<PRE class="example">
7z b -mmt1 -md26
</PRE>
runs benchmarking with one thread and 64 MB dictionary.

<PRE class="example">
7z b 30
</PRE>
<P>runs benchmarking with default settings for 30 iterations.</P>

<PRE class="example">
7z b -mm=*
</PRE>
<P>runs complex 7-Zip benchmark.</P>

</BODY>
</HTML>
